﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using AcademiaEntidades;
using AcademiaDAO;

namespace AcademiaDAO
{
    public class SeguridadDAO
    {
        public static Usuarios ValidarUsuario(string usuario, string password, out bool esUsuario)
        {
            Usuarios user = new Usuarios();
            SqlConnection cn = null;
            esUsuario = false;
            try
            {
                cn = AccesoDato.dameConexion();
                cn.Open();
                SqlCommand cmd = new SqlCommand();
                string sql = "select * from Usuarios where Usuario like @usuario and Password like @password";
                cmd.Parameters.AddWithValue("@usuario", usuario);
                cmd.Parameters.AddWithValue("@password", password);
                cmd.Connection = cn;
                cmd.CommandText = sql;
                SqlDataReader dr = cmd.ExecuteReader();
                if (dr.Read())
                {
                    
                    user.IdUsuario = int.Parse(dr["IdUsuario"].ToString());
                    user.Usuario = dr["Usuario"].ToString();
                    user.Rol = dr["Rol"].ToString();
                    esUsuario = true;
                }
                dr.Close();
            }
            catch (Exception ex)
            {
                throw new Exception("No se pudo validar usuario...");
            }
            finally
            {
                if (cn.State == ConnectionState.Open)
                    cn.Close();
            }
            return user;
        }//Fin del metodo validarUsuario
        public static string obtenerRoles(string usuario)
        {
            string rol = string.Empty;
            SqlConnection cn = null;
            try
            {
                cn = AccesoDato.dameConexion();
                cn.Open();
                SqlCommand cmd = new SqlCommand();
                string sql = "select * from Usuarios where Usuario like @usuario";
                cmd.Parameters.AddWithValue("@usuario", usuario);

                cmd.Connection = cn;
                cmd.CommandText = sql;
                SqlDataReader dr = cmd.ExecuteReader();
                if (dr.Read())
                {
                    rol = dr["Rol"].ToString();
                }
                dr.Close();

            }
            catch (Exception ex)
            {
                throw new Exception("No se pudo obtener los roles...");
            }
            finally
            {
                if (cn.State == ConnectionState.Open)
                    cn.Close();
            }
            return rol;
        }//Fin del metodo obtenerRoles
    }
}

